package cn.itsource.langxun.controller;

import cn.itsource.langxun.util.AjaxResult;
import cn.itsource.langxun.util.FastDfsApiOpr;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController
public class FileController {

    /**
     * 文件上传  MultipartFile 是SpringMVC封装好的API方便操作上传的文件的
     * @param file
     * @return
     */
    @PostMapping("/fastdfs")
    public AjaxResult upload(MultipartFile file){

        try {
            //获取文件的扩展名
            String filename = file.getOriginalFilename();
            String extName = filename.substring(filename.lastIndexOf(".")+1);
            String file_id = FastDfsApiOpr.upload(file.getBytes(), extName);
            return AjaxResult.li().setSuccess(true).setMessage("上传成功!").setRestobj(file_id);
        } catch (Exception e) {
            e.printStackTrace();
            return AjaxResult.li().setSuccess(false).setMessage("上传失败!"+e.getMessage());
        }


    }

    /**
     * 删除文件
     * @param file_id
     * @return
     */
    @DeleteMapping("/fastdfs")
    public AjaxResult delete(String file_id){
        try {
            //     /group1/M00/00/01/rBACgF1euQiAEdrcAACbjnUEnrE193.jpg

            file_id = file_id.substring(1);//   group1/M00/00/01/rBACgF1euQiAEdrcAACbjnUEnrE193.jpg

            String groupName = file_id.substring(0, file_id.indexOf("/"));
            ;//   group1

            String fileName = file_id.substring(file_id.indexOf("/")+1);//   M00/00/01/rBACgF1euQiAEdrcAACbjnUEnrE193.jpg

            FastDfsApiOpr.delete(groupName, fileName);

            return AjaxResult.li().setSuccess(true).setMessage("删除成!");

        } catch (Exception e) {
            e.printStackTrace();

            return AjaxResult.li().setSuccess(false).setMessage("删除失败!");

        }


    }


}
